The number, type and functionality of digital devices are increasing, and consumers are conducting an increasing amount of their computing on these devices. Users are managing an increasing number of devices, such as cell phones, digital music players, PCs, digital cameras, gaming consoles, personal digital assistants (PDA), etc. Additionally, digital devices have a wide variety of technologies for creating and consuming content. These devices often do not share content and services that are important to the user. Further, the capacities of these devices often vary, for example, they may have a different processor type, a different memory capacity, etc. Additionally, these devices may have different capabilities such as network availability, different runtimes/binaries, different displays, different audio hardware, different operating systems, as examples.
Currently the range of capabilities and capacities of digital devices are addressed by developers writing different versions of programs. This approach results in duplicated efforts, increased costs, and user difficulty in configuring a similar application on different devices.